home *** CD-ROM | disk | FTP | other *** search
/ MacTech 1 to 12 / MacTech-vol-1-12.toast / Source / MacTech® Magazine / Volume 09 - 1993 / 09.07 Jul 93 / Bedrock Header Files / Intl Includes / BRScript.h < prev    next >
Encoding:
Text File  |  1993-04-22  |  3.6 KB  |  106 lines  |  [TEXT/MPS ]

  1. //========================================================================================
  2. //
  3. //      File:        BRScript.h
  4. //      Release Version:    1.0d1
  5. // 
  6. //      Creation Date:        March 1993
  7. // 
  8. //      COPYRIGHT 1993 SYMANTEC CORPORATION. ALL RIGHTS RESERVED. UNPUBLISHED -- RIGHTS
  9. //      RESERVED UNDER THE COPYRIGHT LAWS OF THE UNITED STATES. USE OF COPYRIGHT NOTICE IS
  10. //      PRECAUTIONARY ONLY AND DOES NOT IMPLY PUBLICATION OR DISCLOSURE.
  11. // 
  12. //      THIS SOFTWARE CONTAINS PROPRIETARY AND CONFIDENTIAL INFORMATION OF SYMANTEC
  13. //      CORPORATION. USE, DISCLOSURE, OR REPRODUCTION IS PROHIBITED WITHOUT THE PRIOR
  14. //      EXPRESS WRITTEN PERMISSION OF SYMANTEC CORPORATION.
  15. // 
  16. //      RESTRICTED RIGHTS LEGEND
  17. //      Use, duplication, or disclosure by the Government is subject to restrictions as Set
  18. //      forth in subparagraph (c)(l)(ii) of the Rights in Technical Data and Computer
  19. //      Software clause at DFARS 252.227-7013. Symantec Corporation, 10201 Torre Avenue,
  20. //      Cupertino, CA 95014.
  21. // 
  22. //=======================================================================================
  23.  
  24.  
  25. #ifndef    BRSCRIPT_H
  26. #define    BRSCRIPT_H
  27. #endif
  28.  
  29.  
  30. #ifndef    BRWRISYS_H
  31. #include "BRWRISYS.H"
  32. #endif
  33.  
  34.  
  35.  
  36. //========================================================================================
  37. //    CLASS BR_CScriptProperties
  38. //========================================================================================
  39. class BR_CScriptProperties
  40. {
  41. public:
  42.  
  43.     BR_Direction GetBookBindingDirection() const;
  44.     BR_Direction GetFacingPagesDirection() const;
  45.     BR_Direction GetParagraphFlowDirection() const;
  46.     BR_Direction GetLineFlowDirection() const;
  47.     BR_Direction GetLineOrientation() const;
  48.     BR_Direction GetCharacterDirection() const;
  49.     BR_Direction GetCharacterOrientation() const;
  50.  
  51.     BR_Boolean SetBookBindingDirection();
  52.     BR_Boolean SetFacingPagesDirection();
  53.     BR_Boolean SetParagraphFlowDirection();
  54.     BR_Boolean SetLineFlowDirection();
  55.     BR_Boolean SetLineOrientation();
  56.     BR_Boolean SetCharacterDirection();
  57.     BR_Boolean SetCharacterOrientation();
  58.  
  59. private:
  60.     BR_Locale* fLocale;
  61.     BR_Direction BookBindingDirection;            //    direction of overall page flow in a book
  62.     BR_Direction FacingPagesDirection;            //    direction of page flow between 2 facing pages
  63.     BR_Direction ParagraphFlowDirection;        //    direction of paragraph flow
  64.     BR_Direction LineFlowDirection;                //    direction of line flow (toward location of next character) aka escapement
  65.     BR_Direction LineOrientation;                //    direction of up for the line
  66.     BR_Direction CharacterDirection;            //    direction of character (affects bidi algorithm)
  67.     BR_Direction CharacterOrientation;            //    which way is up for the character
  68.     BR_Boolean fDoesHyphenate;
  69.     BR_Boolean fRequiresInputMethod;
  70. };
  71.  
  72.  
  73.  
  74.  
  75. //    it is neccessary to keep BR_Direction a separate type, because we may want to
  76. //    make it into a class with a sophisticated set of functionality, to allow for
  77. //    non-linear directionality, like flow on a path, Bidi, or indic script.
  78.  
  79. typedef enum BR_Direction
  80. {
  81.     BotomUp=0, 
  82.     LeftToRight=90, 
  83.     TopDown=180, 
  84.     RightToLeft=270
  85. };
  86.  
  87.  
  88. /*
  89.         unsigned char        GetBreakBeforeTable();                    
  90.         unsigned char        GetBreakAfterTable();                    
  91.         unsigned char        GetCharacterAttributes();    
  92.         unsigned char        GetToUpperCaseTable();        
  93.         unsigned char        GetToLowerCaseTable();        
  94.  
  95.         BR_Boolean        SetBreakBeforeTable();                    
  96.         BR_Boolean        SetBreakAfterTable();                    
  97.         BR_Boolean        SetCharacterAttributes();    
  98.         BR_Boolean        SetToUpperCaseTable();        
  99.         BR_Boolean        SetToLowerCaseTable();        
  100.  
  101.         unsigned char        BreakBeforeTable[255];        //    
  102.         unsigned char        BreakAfterTable[255];            //    
  103.         unsigned char        CharacterAttributes[255];    //
  104.         unsigned char        ToUpperCaseTable[255];        //
  105.         unsigned char        ToLowerCaseTable[255];        //
  106. */